#ifndef _DEFAULTARG_H_
#define _DEFAULTARG_H_
#include "ast/exprType.h"

class DefaultArg: public SimpleNode
{
public:
    DefaultArg(const exprTypePtr& parameterp, const exprTypePtr& valuep, const exprTypePtr& typeDefp, int nodeId):
        SimpleNode(nodeId),
        parameter(parameterp),
        value(valuep),
        typeDef(typeDefp)
    {
    }
    virtual ~DefaultArg(){}

    DefaultArg(const exprTypePtr& parameterp, const exprTypePtr& valuep, int nodeId):
        SimpleNode(nodeId),
        parameter(parameterp),
        value(valuep),
        typeDef(NULL)
    {
    }
public:
    exprTypePtr parameter;
    exprTypePtr value;
    exprTypePtr typeDef;
};

typedef QSharedPointer<DefaultArg> DefaultArgPtr;

#endif
